package appapi.entity.bridge;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

 /**
 * @version: java version 1.8
 * @Author: Ygp Work
 * @description:
 * @date: 2023-09-08 9:07
 */

/**
 * 摄像头信息表
 */
@ApiModel(description = "摄像头信息表")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "camera")
public class CameraEntity {


    @ApiModelProperty(value = "开始时间")
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "结束时间")
    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    /**
     * 页码
     */
    @ApiModelProperty(value = "页码", required = true)
    @TableField(exist = false)
    private Integer pageNum;
    /**
     * 每页数量
     */
    @ApiModelProperty(value = "每页数量", required = true)
    @TableField(exist = false)
    private Integer pageSize;
    /**
     * ID
     */
    @TableId(value = "camera_id", type = IdType.INPUT)
    @ApiModelProperty(value = "ID")
    private Long cameraId;

    /**
     * 场景名称
     */
    @TableField(value = "camera_name")
    @ApiModelProperty(value = "摄像头名字")
    private String cameraName;

    /**
     * 场景类别
     */
    @TableField(value = "camera_no")
    @ApiModelProperty(value = "摄像头编号")
    private String cameraNo;

    /**
     * 所属项目
     */
    @TableField(value = "proj_id")
    @ApiModelProperty(value = "所属项目")
    private Long projId;

    /**
     * 开始时间
     */
    @TableField(value = "camera_position")
    @ApiModelProperty(value = "位置名称")
    private String cameraPosition;


    @TableField(value = "camera_note")
    @ApiModelProperty(value = "备注")
    private String cameraNote;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    @TableField(value = "device_name")
    private String deviceName;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "序列号")
    @TableField(value = "serial_number")
    private String serialNumber;
    /**
     * 创建人
     */
    /**
     * 创建人
     */
    @ApiModelProperty(value = "状态")
    @TableField(value = "state")
    private String state;
    /**
     * 场景摘要
     */
    @TableField(value = "device_id")
    @ApiModelProperty(value = "设备id")
    private Long deviceId;

    /**
     * 状态 0启用 1停用
     */
    @TableField(value = "camera_channel")
    @ApiModelProperty(value = "通道号")
    private Integer cameraChannel;

    /**
     * 创建人
     */
    @TableField(value = "create_user")
    @ApiModelProperty(value = "创建人")
    private Long createUser;


    /**
     * 项目名称
     */

    @ApiModelProperty(value = "项目名称")
    @TableField(exist = false)
    private String projName;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 最后修改人
     */
    @TableField(value = "last_modify_user")
    @ApiModelProperty(value = "最后修改人")
    private Long lastModifyUser;

    /**
     * 最后修改时间
     */
    @TableField(value = "last_modify_time")
    @ApiModelProperty(value = "最后修改时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastModifyTime;

    @ApiModelProperty(value = "组织机构路径")
    private String orgaPathIds;
}